﻿using System.ComponentModel;

namespace B.S.EventHandle.ErrorCode
{
    public enum APIEnums
    {
        登录成功 = 100,
        登录失败 = 101,
        添加成功 = 200,
        添加失败 = 201,
        查询成功 = 300,
        查询失败 = 301,
        删除成功 = 400,
        删除失败 = 401,
        修改成功 = 500,
        修改失败 = 501,
        导出成功 = 600,
        导出失败 = 601,

    }
    //入库类型
    public enum InboundType
    {
        /// <summary>
        /// 采购入库
        /// </summary>
        [Description("采购入库")]
        PurchaseReceiving = 1,
        /// <summary>
        /// 生产入库
        /// </summary>
        [Description("生产入库")]
        ManufacturingReceiving = 2,
        /// <summary>
        /// 退货入库
        /// </summary>
        [Description("退货入库")]
        ReturnReceiving = 3,
        /// <summary>
        /// 调拨入库
        /// </summary>
        [Description("调拨入库")]
        TransferReceiving = 4,
        /// <summary>
        /// 报损入库
        /// </summary>
        [Description("报损入库")]
        DamageReceiving = 5,
        /// <summary>
        /// 其他入库
        /// </summary>
        [Description("其他入库")]
        GeneralReceiving = 6,


    }
    //出库类型
    public enum OutboundType
    {
        /// <summary>
        /// 采购退货 
        /// </summary>
        [Description("采购退货")]
        PurchaseReturn = 1,
        /// <summary>
        /// 销售出库 
        /// </summary>
        [Description("销售出库")]
        SalesReceiving = 2,
        /// <summary>
        /// 客户退货
        /// </summary>
        [Description("客户退货")]
        CustomerReturn = 3,
        /// <summary>
        /// 调拨出库
        /// </summary>
        [Description("调拨出库")]
        TransferDispatch = 4,
        /// <summary>
        /// 报损入库
        /// </summary>
        [Description("报损入库")]
        DamageReceiving = 5,
        /// <summary>
        /// 其他入库
        /// </summary>
        [Description("其他入库")]
        GeneralDispatch = 6,


    }
    

    /// <summary>
    /// 移库单类型
    /// </summary>
    public enum TransferType
    {
        /// <summary>
        /// 普通移库：常规的库存移动，无特殊目的。
        /// </summary>
        /// <remarks>适用场景：仓库内部调整、位置优化等。</remarks>
        [Description("普通移库")]
        NormalTransfer = 0,

        /// <summary>
        /// 调拨移库：从一个仓库调拨到另一个仓库，以满足不同地点的需求。
        /// </summary>
        /// <remarks>适用场景：多仓库运营，需要平衡库存分布。</remarks>
        [Description("调拨移库")]
        AllocationTransfer = 1,

        /// <summary>
        /// 退货移库：将退回的商品从销售区域或客户处移回仓库。
        /// </summary>
        /// <remarks>适用场景：处理客户退货，将商品返回库存。</remarks>
        [Description("退货移库")]
        ReturnTransfer = 2,

        /// <summary>
        /// 报废移库：将损坏或过期的商品从正常库存区域移至报废区域。
        /// </summary>
        /// <remarks>适用场景：处理不可用库存，准备报废或回收。</remarks>
        [Description("报废移库")]
        ScrapTransfer = 3,

        /// <summary>
        /// 盘点移库：在盘点过程中发现的库存差异需要进行的移库操作。
        /// </summary>
        /// <remarks>适用场景：盘点后调整库存记录，确保账实相符。</remarks>
        [Description("盘点移库")]
        InventoryTransfer = 4
    }
    // <summary>
    /// 报损类型
    /// </summary>
    public enum LossType
    {
        /// <summary>
        /// 过期报损
        /// </summary>
        [Description("过期报损")]
        Expired = 1,

        /// <summary>
        /// 损坏报损
        /// </summary>
        [Description("损坏报损")]
        Damaged = 2,

        /// <summary>
        /// 报废报损
        /// </summary>
        [Description("报废报损")]
        Scrap = 3,
        /// <summary>
        /// 退货报损
        /// </summary>
        [Description("退货报损")]
        Return = 4,
        /// <summary>
        /// 其他
        /// </summary>
        [Description("其他")]
        TransferError = 5
    }
    /// <summary>
    /// 库位类型枚举，定义了不同的库位区域类型。
    /// </summary>
    public enum LocationType
    {
        /// <summary>
        /// 报损库区，用于存放报损的产品。
        /// </summary>
        Damaged = 0,

        /// <summary>
        /// 待出库区，等待出库的产品存放区域。
        /// </summary>
        PendingOutbound = 1,

        /// <summary>
        /// 待检库区，等待检验的产品存放区域。
        /// </summary>
        PendingInspection = 2,

        /// <summary>
        /// 正式库区，正式存储产品的标准库位。
        /// </summary>
        Official = 3,

        /// <summary>
        /// 待入库区，等待入库的产品存放区域。
        /// </summary>
        PendingInbound = 4
    }


    // 1. 入库管理表状态枚举
    public enum WarehouseInStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 2. 出库管理表状态枚举
    public enum WarehouseOutStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 3. 移库管理表状态枚举
    public enum TransferStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 4. 报损管理表状态枚举
    public enum LossReportStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 5. 调拨管理表状态枚举
    public enum DispatchManagementStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 6. 盘点管理表状态枚举
    public enum InventoryStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccess = 2
    }

    // 7. 采购订单表状态枚举
    public enum PurchaseOrderStatus
    {
        /// <summary>
        /// 全部入库
        /// </summary>
        [Description("全部入库")]
        FullyReceived = 0,

        /// <summary>
        /// 部分入库
        /// </summary>
        [Description("部分入库")]
        PartiallyReceived = 1,

        /// <summary>
        /// 订单取消
        /// </summary>
        [Description("订单取消")]
        OrderCancelled = 2,

        /// <summary>
        /// 采购中
        /// </summary>
        [Description("采购中")]
        InPurchase = 3
    }

    // 8. 退货管理表状态枚举
    public enum ReturnOrderStatus
    {
        /// <summary>
        /// 订单确认
        /// </summary>
        [Description("订单确认")]
        OrderConfirmed = 0,

        /// <summary>
        /// 创建订单
        /// </summary>
        [Description("创建订单")]
        OrderCreated = 1,

        /// <summary>
        /// 订单取消
        /// </summary>
        [Description("订单取消")]
        OrderCancelled = 2
    }

    // 9. 销售管理表状态枚举
    public enum SalesOrderStatus
    {
        /// <summary>
        /// 全部出货
        /// </summary>
        [Description("全部出货")]
        FullyShipped = 0,

        /// <summary>
        /// 部分出货
        /// </summary>
        [Description("部分出货")]
        PartiallyShipped = 1,

        /// <summary>
        /// 订单确认
        /// </summary>
        [Description("订单确认")]
        OrderConfirmed = 2,

        /// <summary>
        /// 订单取消
        /// </summary>
        [Description("订单取消")]
        OrderCancelled = 3
    }

    // 10. 销售退货表状态枚举
    public enum SalesReturnStatus
    {
        /// <summary>
        /// 创建订单
        /// </summary>
        [Description("创建订单")]
        OrderCreated = 0,

        /// <summary>
        /// 订单确认
        /// </summary>
        [Description("订单确认")]
        OrderConfirmed = 1
    }

    // 11. 应收表状态枚举
    public enum ReceivablesStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核通过
        /// </summary>
        [Description("审核通过")]
        ReviewPassed = 1,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 2,

        /// <summary>
        /// 全部付款
        /// </summary>
        [Description("全部付款")]
        FullyPaid = 3,

        /// <summary>
        /// 部分付款
        /// </summary>
        [Description("部分付款")]
        PartiallyPaid = 4
    }

    // 12. 应付表状态枚举
    public enum PayablesStatus
    {
        /// <summary>
        /// 待审核
        /// </summary>
        [Description("待审核")]
        PendingReview = 0,

        /// <summary>
        /// 审核通过
        /// </summary>
        [Description("审核通过")]
        ReviewPassed = 1,

        /// <summary>
        /// 审核失败
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 2,

        /// <summary>
        /// 全部付款
        /// </summary>
        [Description("全部付款")]
        FullyPaid = 3,

        /// <summary>
        /// 部分付款
        /// </summary>
        [Description("部分付款")]
        PartiallyPaid = 4
    }

    // 13. 设备表状态枚举
    public enum EquipmentStatus
    {
        /// <summary>
        /// 闲置
        /// </summary>
        [Description("闲置")]
        Idle = 0,

        /// <summary>
        /// 启用
        /// </summary>
        [Description("启用")]
        Active = 1
    }

    // 14. 消息中心表状态枚举
    public enum MessageStatus
    {
        /// <summary>
        /// 未读
        /// </summary>
        [Description("未读")]
        Unread = 0,

        /// <summary>
        /// 已读
        /// </summary>
        [Description("已读")]
        Read = 1
    }

    // 15.库存表状态枚举
    public enum inventoryStatus
    {
        /// <summary>
        /// 已到达，待入库
        /// </summary>
        [Description("已到达，待入库")]
        Pending = 1,

        /// <summary>
        /// 入库完成，待上架
        /// </summary>
        [Description("入库完成，待上架")]
        Completed = 2,

        /// <summary>
        /// 已上架
        /// </summary>
        [Description("已上架")]
        Shelved = 3,

        /// <summary>
        /// 入库问题
        /// </summary>
        [Description("入库问题")]
        IssueDetected = 4,
    }
    // 16.订单表状态枚举
    public enum OrderStatus
    {
        /// <summary>
        /// 创建订单
        /// </summary>
        [Description("创建订单")]
        OrderCreated = 1,

        /// <summary>
        /// 订单确认
        /// </summary>
        [Description("订单确认")]
        OrderConfirmed = 2,

        /// <summary>
        ///  订单取消
        /// </summary>
        [Description("订单取消")]
        OrderCancelled = 3
    }
    //17.单据状态
    public enum DocumentType 
    {
        /// <summary>
        /// 全部
        /// </summary>
        [Description("全部")]
        All = 0,

        /// <summary>
        /// 待审核 
        /// </summary>
         [Description("待审核")]
        PendingReview = 1,

        /// <summary>
        /// 审核成功
        /// </summary>
        [Description("审核成功")]
        ReviewSuccessful = 2,

        /// <summary>
        /// 审核失败 
        /// </summary>
        [Description("审核失败")]
        ReviewFailed = 3
    }
}
